plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
ACK(s(x), s(y)) → ACK(s(x), y)
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
PLUS(x, s(s(y))) → PLUS(s(x), y)
ACK(s(x), s(y)) → PLUS(y, ack(s(x), y))
PLUS(s(s(x)), y) → PLUS(x, s(y))
ACK(s(x), 0) → ACK(x, s(0))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
ACK(s(x), s(y)) → ACK(s(x), y)
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
PLUS(x, s(s(y))) → PLUS(s(x), y)
ACK(s(x), s(y)) → PLUS(y, ack(s(x), y))
PLUS(s(s(x)), y) → PLUS(x, s(y))
ACK(s(x), 0) → ACK(x, s(0))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
ACK(s(x), s(y)) → ACK(s(x), y)
PLUS(x, s(s(y))) → PLUS(s(x), y)
ACK(s(x), s(y)) → PLUS(y, ack(s(x), y))
PLUS(s(s(x)), y) → PLUS(x, s(y))
ACK(s(x), 0) → ACK(x, s(0))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
PLUS(x, s(s(y))) → PLUS(s(x), y)
PLUS(s(s(x)), y) → PLUS(x, s(y))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
ACK(s(x), s(y)) → ACK(s(x), y)
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
ACK(s(x), 0) → ACK(x, s(0))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
ACK(s(x), 0) → ACK(x, s(0))
Used ordering: Combined order from the following AFS and order.
ACK(s(x), s(y)) → ACK(s(x), y)
[ACK1, ack1] > [s1, plus2, 0]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
ACK(s(x), s(y)) → ACK(s(x), y)
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK(s(x), s(y)) → ACK(s(x), y)
[ACK1, s1]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))